Les
codes DTMF (dual-tone multi-frequency) sont les combinaisons de
fréquences utilisées pour la
téléphonie moderne (c'est-à-dire pas
à impulsions). Ces codes sont utilisés pour la composition des numéros de téléphones, et ils ont permis la création des premiers serveurs vocaux interactifs.
Techniquement, chaque touche d'un téléphone correspondent à un couple de deux fréquences audibles qui sont jouées simultanément. De cette façon, huit fréquences bien distinctes permettent de coder seize touches. Ces fréquences peuvent être reconnues par des dispositifs électroniques et sont utilisées pour réaliser des serveurs vocaux. Dans le tableau suivant, notons que figurent des touches « A » à « D » : celles-ci étaient utilisées par l'armée américaine pour représenter la priorité d'une communication.
| 1209 Hz | 1336 Hz | 1477 Hz | 1633 Hz |
| 697 Hz | 1 | 2 | 3 | A |
| 770 Hz | 4 | 5 | 6 | B |
| 852 Hz | 7 | 8 | 9 | C |
| 941 Hz | * | 0 | # | D |
Ainsi, le couple de fréquences correspondant à 1 est (1209 Hz, 697 Hz), celui de 2 est (1336 Hz, 697 Hz), et ainsi de suite, jusqu'à celui de D : (1633 Hz, 941 Hz).
Les huit fréquences utilisées restent dans la Bande passante du téléphone (qui se situe entre 300 et 3400 Hz), et ont été choisies pour éviter les harmoniques.
Génération des DTMF
La génération d'un
Signal sinusoïdal est assez aisée :
| ns = sin | ( | 2 π | f –––––––––––– f {ech } | k | ) | n |
où on a:
- s est l'échantillon obtenu
- k est le numéro de l'échantillon (partant de 0)
- f est la fréquence que l'on veut générer
- f {ech } est la fréquence d'échantillonnage.
Pour générer une certaine tonalité DTMF, il suffit de récupérer les deux fréquences associées, et de générer un signal qui est la somme des deux sinusoïdes correspondantes.
Voici un exemple de génération d'un signal comme étant une somme de deux sinusoïdes à des fréquences respectives f 1 et f 2 , à une fréquence d'échantillonnage f {ech }, et avec une Amplitude comprise entre 0 et 255 :
-
| u 1 = 2 π | f 1 –––––––––––– f {ech } |
-
| u 2 = 2 π | f 2 –––––––––––– f {ech } |
- s = 128 + 63 sin(u 1 k) + 63 sin(u 2 k)
Détection des DTMF
La détection de tonalités DTMF peut être effectuée en utilisant entres autres les algorithmes suivants :
- Multiple Signal Classification (MUSIC)
- Least Mean-Square (LMS)
- Goertzel, une implémentation rapide d'une transformée de Fourier discrète.
Composants DTMF
MT 8870
Liens externes
Les lecteurs souhaitant en savoir plus sur la détection des DTMF sont invités à considérer le lien suivant (en anglais), sur la comparaison des trois algorithmes mentionnés ci-dessus :